perm filename CONCEP.TC[CLS,LSP]9 blob
sn#850904 filedate 1987-12-23 generic text, type T, neo UTF8
!4!!1--1
!0Common Lisp Object System Specification!!1--1
!11. Programmer Interface Concepts!!1--1
!4CONTENTS!!1--2
!2Introduction!!1--3
!2Error Terminology!!1--4
!2Classes!!1--6
!3Defining Classes!!1--7
!3Creating Instances of Classes!!1--8
!3Slots!!1--8
!3Accessing Slots!!1--8
!2Inheritance!!1--10
!3Inheritance of Methods!!1--10
!3Inheritance of Slots and Slot Options!!1--10
!3Inheritance of Class Options!!1--11
!3Examples of Inheritance!!1--12
!2Redefining Classes!!1--13
!3Modifying the Structure of Instances!!1--13
!3Initializing Newly-added Shared Slots!!1--14
!3Initializing Newly-added Local Slots!!1--14
!3Extensions!!1--14
!2Changing the Class of an Instance!!1--15
!3Modifying the Structure of the Instance!!1--15
!3Initializing Newly-added Local Slots!!1--15
!2Integrating Types and Classes!!1--17
!2Determining the Class Precedence List!!1--19
!3Topological Sorting!!1--19
!3Examples!!1--20
!2Generic Functions and Methods!!1--22
!3Introduction to Generic Functions!!1--22
!3Introduction to Methods!!1--23
!3Congruent Lambda-lists for All Methods of a Generic Function!!1--25
!3Keyword Arguments in Generic Functions and Methods!!1--26
!2Method Selection and Combination!!1--28
!3Determining the Effective Method!!1--28
!4Selecting the Applicable Methods!!1--28
!4Sorting the Applicable Methods by Precedence Order!!1--28
!4Applying Method Combination to the Sorted List of Applicable Methods!!1--29
!3Standard Method Combination!!1--31
!3Declarative Method Combination!!1--32
!3Built-in Method Combination Types!!1--32
!2Meta-Objects!!1--34
!3Metaclasses!!1--34
!3Standard Metaclasses!!1--34
!3Standard Meta-objects!!1--34
!2Object Creation and Initialization!!1--36
!3Initialization Arguments!!1--36
!3Declaring the Validity of Initialization Arguments!!1--37
!3Defaulting of Initialization Arguments!!1--37
!3Rules for Duplicate Initialization Arguments!!1--38
!3Methods for Initialize-instance!!1--39
!3Procedural Definition of Make-instance!!1--40
!2Introduction to Setf Functions!!1--42